'''
@author: Rocio 
'''
class Instruccion:
    
    #constantes para determinar el tipo de instruccion
    CPU = 0
    IO = 1
    
    #constructor
    def __init__(self, tipoOp=CPU, cantVeces=0):
        self.tipoOP = tipoOp
        self.cantVeces = cantVeces
     
    #metodos
    def expandirInstruccionCpu(self):
        lista =[]
        while self.cantVeces>0:
            lista.append(Instruccion(1,0))
            self.cantVeces = self.cantVeces -1
        return lista
    
    def expandirInstruccionIo(self):
        lista =[]
        while self.cantVeces>0:
            lista.append(Instruccion(0,0))
            self.cantVeces = self.cantVeces -1
        return lista
    
    def expandirInstruccion(self):
        if self.tipoOP ==  Instruccion.CPU:
            self.expandirInstruccionCpu()
        else:
            self.expandirInstruccionIo()
    #to print
    def __repr__(self):
        if self.opcode == Instruccion.CPU:
            return 'CPU '
        elif self.opcode == Instruccion.IO:
            return 'IO ' 